//手机号的正则验证
export const phoneVisable = (obj) => {
  // var reg = /^(13[0-9]|14[0-9]|15[0-9]|17[0-8]|18[0-9])\d{8}$/g;
  var reg = /^((13[0-9])|(147,145)|(15[^4])|(17[0-8])|(18[0-9])|(19[0-9]))\d{8}$/g;
  return reg.test(obj);
}
//邮箱的正则验证
export const checkEmail = (str) => { //验证邮箱格式
  // var reg = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  return reg.test(str);
};

/**
 *  时间工具类
 *  @author fei
 */
export const DateUtil={
  /**
   * 当前时间，格式 yyyy-MM-dd HH:mm:ss
   *
   * @return 当前时间的标准形式字符串
   */
  now: function() {
      return new Date().format("yyyy-MM-dd HH:mm:ss");
  },
  /**
   * 格式化日期时间
   * 格式 yyyy-MM-dd HH:mm:ss
   *
   * @param date 被格式化的日期
   * @param format 格式化 参考 {@link date_formate}
   * @return 格式化后的日期
   */
  formatDateTime: function(date,format) {
      if(format == undefined || format ==null ){
          format = "yyyy-MM-dd HH:mm:ss";
      }

      return date.format(format);
  },
  /**
   * 只支持毫秒级别时间戳，如果需要秒级别时间戳，请自行×1000
   *
   * @param timestamp 时间戳
   * @return 时间对象
   */
  date:function (timestamp) {
      return new Date(timestamp);
  }
};

/** 日期格式 命名参考hutool工具类 */
const date_formate = {
  /** 标准日期格式：yyyy-MM-dd */
  normDatePattern: "yyyy-MM-dd",
  /** 标准时间格式：hh:mm:ss */
  normTimePattern : "HH:mm:ss",
  /** 标准日期时间格式，精确到分：yyyy-MM-dd HH:mm */
  normDatetimeMinutePattern:"yyyy-MM-dd HH:mm",
  /** 标准日期时间格式，精确到秒：yyyy-MM-dd HH:mm:ss */
  normDatetimePattern:"yyyy-MM-dd HH:mm:ss",
  /** 标准日期时间格式，精确到毫秒：yyyy-MM-dd HH:mm:ss.SSS */
  normDatetimeMsPattern:"yyyy-MM-dd HH:mm:ss.SSS",
  /** 标准日期格式：yyyy年MM月dd日 */
  chineseDatePattern : "yyyy年MM月dd日",
  /** 标准日期格式：yyyyMMdd */
  pureDatePattern : "yyyyMMdd",
  /** 标准日期格式：HHmmss */
  pureTimePattern : "HHmmss",
  /** 标准日期格式：yyyyMMddHHmmss */
  pureDatetimePattern : "yyyyMMddHHmmss",
  /** 标准日期格式：yyyyMMddHHmmssSSS */
  pureDatetimeMsPattern : "yyyyMMddHHmmssSSS",
};

Date.prototype.format = function(fmt) {
  var o = {
      "M+" : this.getMonth()+1,                 //月份
      "d+" : this.getDate(),                    //日
      "H+" : this.getHours(),                   //小时
      "h+" : this.getHours(),                   //小时
      "m+" : this.getMinutes(),                 //分
      "s+" : this.getSeconds(),                 //秒
      "q+" : Math.floor((this.getMonth()+3)/3), //季度
      "S"  : this.getMilliseconds()             //毫秒
  };
  if(/(y+)/.test(fmt)) {
      fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  }
  for(var k in o) {
      if(new RegExp("("+ k +")").test(fmt)){
          fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
      }
  }
  return fmt;
};